package types

type Database struct {
	Driver   string `yaml:"driver"`
	Host     string `yaml:"host"`
	Port     int    `yaml:"port"`
	Username string `yaml:"username"`
	Dbname   string `yaml:"dbname"`
	Password string `yaml:"password"`
}
type DatabaseConfig struct {
	Database Database `yaml:"database"`
}

type Oss struct {
	Endpoint       string `yaml:"endpoint"`
	AccessKey      string `yaml:"accessKey"`
	AccessSecret   string `yaml:"accessSecret"`
	Bucket         string `yaml:"bucket"`
	ConvertBucket  string `yaml:"convertBucket"`
	PublicBucket   string `yaml:"publicBucket"`
	SnapshotBucket string `yaml:"snapshotBucket"`
}

type OssConfig struct {
	Oss Oss `yaml:"oss"`
}

type Props struct {
	DownloadTmpPath       string `yaml:"downloadTmpPath"`
	StpToStlConverterPath string `yaml:"stpToStlConverterPath"`
	StlToImgConverterPath string `yaml:"stlToImgConverterPath"`
	AiPthPath             string `yaml:"aiPthPath"`
	AiScriptPath          string `yaml:"aiScriptPath"`
	AiShapeNamePath       string `yaml:"aiShapeNamePath"`
}

type PropsConfig struct {
	Props Props `yaml:"props"`
}

type DubboConfigCenter struct {
	Address   string `yaml:"address"`
	DataId    string `yaml:"data-id"`
	Namespace string `yaml:"namespace"`
	Group     string `yaml:"group"`
}

type DubboConfigCenterConfig struct {
	DubboConfigCenter DubboConfigCenter `yaml:"config-center"`
}

type DubboConfig struct {
	DubboConfigCenterConfig DubboConfigCenterConfig `yaml:"dubbo"`
}
